home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / C64 / F-French / (c)f1.d64 / poker-patie (.txt) < prev    next >
Commodore BASIC  |  2007-02-04  |  3KB  |  117 lines

  1. 10 REM POKER-PATIENCE
  2. 15 CLR
  3. 100 REM PREPARATION DU JEU
  4. 110 PRINT"[147]"
  5. 120 PRINTTAB(11)"[207][208] [207][208][167] [206] [207][163] [207][208]"
  6. 130 PRINTTAB(11)"[204][186] [165][167][167][206]  [207]  [204][186]"
  7. 140 PRINTTAB(11)"[165]  [204][186][167][163][205] [204][164] [165][205]"
  8. 150 PRINTTAB(8)"[207][208] [207][208] [208][163][167] [207][163][167][205] [165][207][163] [207][163]"
  9. 160 PRINTTAB(8)"[204][186] [207][208] [167] [167] [207] [167] [205][165][165][160][160][207]"
  10. 170 PRINTTAB(8)"[165]  [165][167] [167][160][167][160][204][164][167]  [165][204][164] [204][164]"
  11. 200 L=0:C=0
  12. 210 DEFFNV(I)=I-13*INT(I/13)
  13. 220 DEFFNC(I)=INT(I/13)
  14. 230 DIMC(51):FORI=0TO51:C(I)=I:NEXT
  15. 240 DIMT(6,6)
  16. 250 V$="2345678910VDRA":C$="[216][218][211][193]"
  17. 260 I$="[207][163][208][157][157][157][165][160][167][157][157][157][165] [167][157][157][157][204][164][186][157][157][157][145][145][145]"
  18. 270 T$="   [157][157][157]   [157][157][157]   [157][157][157]   [145][145][157][157][157]"
  19. 280 B$="":D$="[166][166][166][157][157][157][166][166][166][157][157][157][166][166][166][157][157][157][166][166][166]"
  20. 290 CL$="* "
  21. 300 DIMH(12),D(5),F$(8),F(8)
  22. 310 FORI=0TO8:READF$(I),F(I):NEXT
  23. 320 DATARIEN,0,PAIRE,1,DEUX PAIRES,3,BRELAN,5,QUINTE,4,COULEUR,10
  24. 330 DATAFULL,12,CARRE,25,QUINTE FLOCHE,50
  25. 340 GOSUB8020
  26. 1000 REMPREPARATION DE LA PARTIE
  27. 1010 PRINT"[147]";:FORI=1TO25
  28. 1020 IF(I-1)/5=INT((I-1)/5)THENPRINTTAB(18)
  29. 1030 PRINTI$""RIGHT$("0"+MID$(STR$(I),2),2)"[146]";
  30. 1040 IFI<21ANDI/5=INT(I/5)THENPRINT""
  31. 1050 NEXT
  32. 1060 PRINT""TAB(5)D$
  33. 1100 FORI=0TO6:FORJ=0TO6:T(I,J)=-1:NEXT:NEXT
  34. 1110 R=RND(-RND(0)):FORI=0TO51:R=52*RND(1):C=C(R):C(R)=C(I):C(I)=C:NEXT
  35. 2000 REM PARTIE
  36. 2004 PRINT""TAB(5)D$:F=-1
  37. 2010 FORT=0TO24
  38. 2020 R=C(T):PRINT""TAB(5)T$MID$(V$,2*FNV(R)+1,2)"[157]"MID$(C$,FNC(R)+1,1):GOTO2040
  39. 2030 PRINT" ??":GOSUB8020
  40. 2040 PRINTLEFT$(B$,11)TAB(5)":      [157][157][157][157][157]";
  41. 2050 GOSUB9000:IFR$<"0"ORR$>"9"THEN2050
  42. 2060 PRINTR$;:M$=R$
  43. 2070 GOSUB9000:IFASC(R$)=20THEN2040
  44. 2080 IFASC(R$)=13THEN2110
  45. 2090 IFR$<"0"ORR$>"9"THEN2070
  46. 2100 PRINTR$;:M$=M$+R$
  47. 2110 M=VAL(M$):IFM<1ORM>25THEN2030
  48. 2120 L=INT((M-1)/5)+1:C=M-5*(L-1)
  49. 2130 IFT(L,C)>=0THEN2030
  50. 2135 IFFTHENF=0:GOTO2160
  51. 2140 FORI=L-1TOL+1:FORJ=C-1TOC+1:IFT(I,J)>=0THEN2160
  52. 2150 NEXT:NEXT:GOTO2030
  53. 2160 T(L,C)=R:PRINT""TAB(5)D$
  54. 2170 PRINTLEFT$(B$,5*(L-1)+1)TAB(18+4*(C-1))T$;
  55. 2180 PRINTMID$(V$,2*FNV(R)+1,2)"[157]"MID$(C$,FNC(R)+1,1):GOSUB8002
  56. 2190 NEXTT
  57. 3000 REM FIN DE PARTIE:SCORE
  58. 3010 PRINT"   [157][157][157]   [157][157][157]   [157][157][157]   [157][157][157]   "
  59. 3020 PRINT"         "
  60. 3030 S=0:FORL=1TO5
  61. 3040 FORI=1TO5:D(I)=T(L,I):NEXT
  62. 3050 PRINT"L"MID$(STR$(L),2)":";
  63. 3060 GOSUB4000
  64. 3070 NEXTL:PRINT
  65. 3080 FORC=1TO5
  66. 3090 FORI=1TO5:D(I)=T(I,C):NEXT
  67. 3100 PRINT"C"MID$(STR$(C),2)":";
  68. 3110 GOSUB4000
  69. 3120 NEXTC:PRINT"TOTAL:"S
  70. 3130 PA=PA+1:SA=SA+S:SM=INT(100*SA/PA)/100:IFPA=1THEN3200
  71. 3140 PRINT"APRES"PA"PARTIES":PRINT"MOYENNE:"SM
  72. 3200 PRINT"ON CONTINUE ? ";
  73. 3210 GOSUB9000:IFR$="O"THENPRINT"OUI":GOSUB8010:GOTO1000
  74. 3220 IFR$<>"N"THEN3210
  75. 3230 PRINT"NON"
  76. 3240 FORI=1TO1000:NEXT:END
  77. 3250 GOTO1000
  78. 4000 REM CALCUL DU SCORE
  79. 4010 F=0:FORI=0TO12:H(I)=0:NEXT
  80. 4020 REM CARTES DE MEME VALEUR
  81. 4030 FORI=1TO5:VA=FNV(D(I)):H(VA)=H(VA)+1:NEXT
  82. 4040 H1=H(0):V1=0:FORI=1TO12:IFH(I)>H1THENH1=H(I):V1=I
  83. 4050 NEXT:H(V1)=1
  84. 4060 H2=H(0):V2=0:FORI=1TO12:IFH(I)>H2THENH2=H(I):V2=I
  85. 4070 NEXT
  86. 4100 IFH1=1THEN4200
  87. 4110 IFH2=1THEN4150
  88. 4120 IFH1=2THENF=2:GOTO4500:REM 2 PAIRES
  89. 4130 F=6:GOTO4500:REM FULL
  90. 4150 IFH1=2THENF=1:GOTO4500:REM PAIRE
  91. 4160 IFH1=3THENF=3:GOTO4500:REM BRELAN
  92. 4170 F=7:GOTO4500:REM CARRE
  93. 4200 REM QUINTE
  94. 4210 FORI=0TO8
  95. 4220 FORJ=ITOI+4:IFH(J)=0THEN4240
  96. 4230 NEXT:F=4:GOTO4300
  97. 4240 NEXTI
  98. 4300 REM COULEUR
  99. 4310 FC=5:C1=FNC(D(1)):FORI=2TO5:IFFNC(D(I))<>C1THENFC=0
  100. 4320 NEXT
  101. 4400 IFF=4ANDFC=5THENF=8:GOTO4500:REM QUINTE FLOCHE
  102. 4410 IFFC>0THENF=FC
  103. 4500 S=S+F(F):PRINTF$(F)TAB(15)RIGHT$(" "+MID$(STR$(F(F)),2),2)
  104. 4510 RETURN
  105. 8002 TD=2:GOTO8100
  106. 8005 TD=5:GOTO8100
  107. 8010 TD=10:GOTO8100
  108. 8020 TD=20:GOTO8100
  109. 8100 TE=TI+6*TD
  110. 8110 IFTI<TETHEN8110
  111. 8120 RETURN
  112. 9000 CL=0:PRINT"*[157]";
  113. 9010 TE=TI+20
  114. 9020 GETR$:IFR$<>""THENPRINT" [157]";:RETURN
  115. 9030 IFTI<TETHEN9020
  116. 9040 CL=ABS(CL-1):PRINTMID$(CL$,CL+1,1)"[157]";:GOTO9010
  117.